package com.ncmmall.domain.business.marketing.gift;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.ncmmall.domain.security.user.WebUser;
import lombok.Getter;
import lombok.Setter;

import javax.persistence.*;
import java.sql.Timestamp;
import java.util.List;
import java.util.Map;

/**
 * 赠品活动
 *
 * @author linxs
 * @date 2020-01-09 16:33
 */
@Entity
@Table(name = "mall_goods_gift_activity")
@Access(AccessType.FIELD)
@Getter
@Setter
public class GiftActivity {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;

    /**
     * 活动名称
     */
    private String name;

    /**
     * 赠品名称
     */
    private String giftNames;

    /**
     * 赠品图片
     */
    private String giftImages;

    /**
     * 1、上架
     * 2、下架
     * 3、审核中
     * 4、审核通过
     * 5、审核不通过
     * 6、逻辑删除
     */
    private int status;

    /**
     * 有效期开始时间
     */
    private String beginDateOfValidity;

    /**
     * 有效期结束时间
     */
    private String endDateOfValidity;

    /**
     * 是否有效
     * 1、未开始
     * 2、有效
     * 3、已过期
     */
    private int isValidity;

    /**
     * 达标金额（门槛金额）
     */
    private double standardsAmount;

    /**
     * 适合商品类型
     * 1、所有商品
     * 2、指定商品
     * 3、指定分类
     */
    private int scopeGoodsType;

    /**
     * 所属商家
     */
    @JsonBackReference
    @OneToOne
    private WebUser merchant;

    /**
     * 创建时间
     */
    private Timestamp createTime;

    /**
     * 审核备注
     */
    @Lob
    private String note;

    /******************************   临时字段  ************************************/

    @Transient
    private List<Map<String, Object>> giftGoodses;

    @Transient
    private String giftGoodsesString;

    @Transient
    private String scopeGoodsesString;

    @Transient
    private String channelsString;

}
